权重

css 权重问题并不简单。

什么是 css 权重

css 权重决定了你 css 规则怎样被浏览器解析直到生效。css 权重关系到你的 css 规则是怎样显示的。

当很多的规则被应用到某一个元素上时,权重是一个决定哪种规则生效,或者是优先级的过程。

  • 权重决定了哪一条规则会被浏览器应用在元素上
  • 权重的不同,是你所期望的效果,没有通过 css 规则在元素上生效的主要原因
  • 权重的级别划分时包含了所有的 css 选择器
  • 如果两个选择器作用在同一元素上,则权重高者生效
  • 如果两个选择器权重值相同,则最后定义的规则被计算到权重中(后面定度的 css 规则权重要更大,会取代前面的 css 规则)
  • 如果两个选择器权重值不同,则权重大的规则被计算到权重中
  • 如果一条规则包含了更高权重的选择器,那么这个规则权重更高
  • 最后定义的规则会覆盖所有跟前面冲突的规则

四大等级

行内样式 > id > class 类/伪类/属性 > 标签/元素/伪元素 > inherit 继承/* 通配符

  • 行内样式:1000
  • id:100
  • class 类/伪类/属性:10
  • 标签/元素/伪元素:1
  • inherit 继承/* 通配符:0

!important

  • !important 会修改当前对应元素的当前 css 属性和值的权重,对子元素权重没影响
  • 有 !important 指定的权重值大于所有未用 !important 指定的规则
  • 非到万不得已不要用 !important
zhouyu1993 wechat
扫一扫上面的二维码,奇妙的世界等着你!
坚持技术分享,您的支持将鼓励我!